package com.hsgene.product.service;

import com.hsgene.common.util.result.ApiResult;
import com.hsgene.common.util.support.Pagination;
import com.hsgene.product.condition.PackageCondition;
import com.hsgene.product.condition.ReportTemplateCondition;
import com.hsgene.product.domain.GeneticTestingReportTemplate;
import com.hsgene.product.dto.GeneticTestingReportTemplateDto;

import java.util.List;

/**
 * @Description: //TODO
 * @ProjectName: hdas-geneshop-server
 * @Package: com.hsgene.product.service
 * @Author: FX
 * @CreateDate: 2018/11/5 11:39
 * @Version: 1.0
 * Copyright: Copyright (c) 2018
 */
public interface ReportTemplateService {
    /**
     * 添加
     *
     * @param geneticTestingReportTemplate
     * @return
     * @author FX
     * @date 2018/11/5 11:41
     */
    ApiResult addReportTemplate(GeneticTestingReportTemplate geneticTestingReportTemplate);

    /**
     * g更新模板信息
     *
     * @param geneticTestingReportTemplate
     * @return
     * @author FX
     * @date 2018/11/5 11:50
     */
    ApiResult updateReportTemplate(GeneticTestingReportTemplate geneticTestingReportTemplate);
    /**
     *查看列表
     * @author FX
     * @date 2018/11/5 13:38
     * @param condition
     * @return
     */
    ApiResult<Pagination<GeneticTestingReportTemplateDto>> getList(ReportTemplateCondition condition);
    /**
     *删除
     * @author FX
     * @date 2018/11/5 16:18
     * @param id
     * @return
     */
    ApiResult deleteTeplete(String id);
    /**
     *根据id查询
     * @author FX
     * @date 2018/11/5 16:43
     * @param id
     * @return
     */
    ApiResult<GeneticTestingReportTemplateDto> getById(String id);
    /**
     *批量删除套餐模板
     * @author FX
     * @date 2018/12/12 9:54
     * @param testingReportTemplates
     * @return
     */
    ApiResult deleteTepleteMore(List<GeneticTestingReportTemplate> testingReportTemplates);
    /**
     *花生仁获取模板接口
     * @author FX
     * @date 2018/11/5 17:10
     * @param condition
     * @return
     */
    ApiResult<List<GeneticTestingReportTemplateDto>> getListPean(ReportTemplateCondition condition);
}
